Reasoning about Inherent Parallelism in Object-Oriented Programs using Ownership Types

نویسندگان

  • Andrew Craik
  • Wayne Kelly
چکیده

The principal premise of this paper is that as a field, we do not currently have a suitable conceptual framework for reasoning about inherent parallelism. We have techniques called dependence analysis for determining the safety of parallelization, but these techniques do not provide a basis for abstraction and so do not scale well to entire applications that are large, complex and developed from components. This paper seeks to extend both the principles and practice of parallel programming by proposing a new abstraction for reasoning about inherent parallelism and uses that abstraction to develop a set of sufficient conditions for data parallel loops.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Using Ownership to Reason about Inherent Parallelism in Object-Oriented Programs

With the emergence of multi-cores into the mainstream, there is a growing need for systems to allow programmers and automated systems to reason about data dependencies and inherent parallelism in imperative object-oriented languages. In this paper we exploit the structure of object-oriented programs to abstract computational side-effects. We capture and validate these effects using a static typ...

متن کامل

Safe Runtime Downcasts With Ownership Types

The possibility of aliasing between objects constitutes one of the primary challenges in understanding and reasoning about correctness of object-oriented programs. Ownership types provide a principled way of specifying statically enforcable restrictions on object aliasing. Ownership types have been used to aid program understanding and evolution, verify absence of data races and deadlocks in mu...

متن کامل

Reasoning about Oject-oriented Programs That Use Subtypes

Programmers informally reason about object-oriented programs by using subtype relationships to classify the behavior of objects of di erent types and by letting supertypes stand for all their subtypes. We describe formal speci cation and veri cation techniques for such programs that mimic these informal ideas. Our techniques are modular and extend standard techniques for reasoning about program...

متن کامل

Mojojojo — More Ownership for Multiple Owners

Traditional ownership types organise the heap into a tree. Ownership types can support memory management, real-time systems, concurrency, parallelism, and general purpose reasoning about programs. Trees, however, are too restrictive to describe many real programs, limiting the usability of conventional ownership systems. Multiple ownership organises the heap into a directed acyclic graph, rathe...

متن کامل

Validity Invariants and Effects

Object invariants describe the consistency of object states, and are crucial for reasoning about the correctness of object-oriented programs. However, reasoning about object invariants in the presence of object abstraction and encapsulation, arbitrary object aliasing and re-entrant method calls, is difficult. We present a framework for reasoning about object invariants based on a behavioural co...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008